According to some studies, the volume of information over a network, such as the Internet, is expected to more than triple over the next three years. Data is likely to remain the largest percentage of Internet traffic, with a large percentage of this information being digital video content and/or audio content. Often, the issues of concern with Internet traffic range from business to consumer response and order times, to the time required to deliver business information to a traveler using a wireless device, to the download time for rich media such as music, videos, and so forth. Thus, not surprisingly, a major complaint among Internet users is a lack of speed. Additionally, users' complaints often center on how long it takes to access and display content, such as video content, on their computing device. This may especially be true where the computing device involves wireless computing devices such that the content is transmitted over slower transmission rates. One solution, therefore, may be to send less data. This is where compression may help.
Briefly, compression of the data is typically directed towards finding and reducing an amount of redundancy within the content, in order to be able to transmit the data in a more efficient form. For digital video content, compression then involves decreasing a number of bits used to represent an image in such a way that either an exact replica of the image or an approximate replica of the image is generated. The reduced image may then be transferred over a network and/or even stored more efficiently than the original image having more bits. When the content is to be played, such as being rendered to a video display screen, the compressed content may then be uncompressed.
One such set of compression mechanisms in wide use today are known as MPEG—from the Moving Picture Experts Group (MPEG). Briefly, MPEG is an encoding and compression standard for digital broadcast content. MPEG provides compression support for television quality transmission of video broadcast content. Moreover, MPEG provides for compressed audio, control, and even user broadcast content. One embodiment of MPEG-2 standards is described in ISO/IEC 13818-7 (available through the International Organization for Standardization or Organisation internationale de normalization, which is widely known as ISO), which is hereby incorporated by reference. Other standards from MPEG have also been generated, including, MPEG-4 for audio-visual objects.
MPEG-2 employs content streams, which may include Packetized Elementary Streams (PES), which typically include fixed (or variable sized) blocks or frames of an integral number of elementary streams (ES) access units. An ES typically is a basic component of an MPEG content stream, and includes digital control data, digital audio, digital video, and other digital content (synchronous or asynchronous). A group of tightly coupled PES packets referenced to substantially the same time base comprises an MPEG program stream (PS). Each PES packet also may be broken into fixed-sized transport packet known as MPEG Transport Streams (TS) that form a general-purpose approach of combining one or more content streams, possible including independent time bases. Moreover, MPEG frames may include intra-frames (I-frames), forward predicted frames (P-frames), and/or bi-directional predicted frames (B-frames).
While MPEG has been in wide use for video compression or encoding, such algorithms have often still been considered too inefficient, costly, and/or slow, for the amount and/or type of digital video content that users often demand access to over the Internet.
Another approach to encoding includes fractal compression of video content using the concept of fractals. Briefly, a fractal is a fragmented geometric shape that may be subsequently divided into a plurality of parts, each of which at least approximately represents a reduced-size copy of the original—a concept called self-similarity. However, fractal compression is a lossy image compression approach in that the resulting output of the compression or encoding is but an approximation of the original, having lost some amount of non-redundant material in the compression. Thus, fractal encoding is often used where the original image includes potentially self-similar components. Fractal encoding often converts portions of the image into mathematical data called fractal codes, which may later be used to recreate the encoded image. Fractal encoding differs from the pixel based encoding approaches such as MPEG, at least because no pixels are saved.
One example of a fractal encoding approach is described in U.S. Pat. No. 5,065,447 (herein, “the '447 patent”) entitled “Method and Apparatus for Processing Digital Data,” issued on Nov. 12, 1991 to Barnsley et al, and which is incorporated herein by reference in its entirety. The fractal encoding approach described therein is sometimes called a fractal iterated encoding approach. Briefly, the fractal encoding disclosed in the '447 patent iterates a block matching process to achieve improved compression or encoding results based on a number of iterations performed. In embodiments of the fractal encoding of the '447 patent, the data set representing an image is an array of 256 pixels by 256 pixels, although it will be appreciated that the size of this array is arbitrary and that a larger array gives rise to greater resolution. Moreover, it should be understood that the data set representing the image is the same for the display resolution, the screen buffer resolution, and for all arithmetic calculations. In the disclosed embodiment, each pixel intensity value is represented by an eight bit value so that images having two hundred fifty six gray or pseudo-color intensity levels can be decoded, although it will be appreciated that the size of this array is arbitrary and that more than eight bits per pixel gives rise to more than two hundred fifty six intensity levels, while less than eight bits per pixels gives rise to less than 256 intensity levels. In particular, twenty four bits per pixel would give rise to sufficient intensity levels to describe two hundred fifty six intensity levels each of red, green and blue primary components. However, such fractal iterative encoding approaches can be very computationally intensive. That is, while the compression approach of fractal encoding may provide improved compression ratios over such as MPEG encoding, the time and resources used to perform such encoding may be significant. In some instances, such encoding relative to such as MPEG2 and/or MPEG4 may be as much as 150:1 or more in cost and/or time, depending on a resolution of the original image. In particular, increased encoding/decoding costs, known as asymmetric encoding costs may be sufficiently large such that it may not always be commercially feasible to employ fractal encoding. However, higher compression ratios—a ratio of size of the compressed content compared to that of the uncompressed content—are still sought after based on today's demands. Therefore, it is with respect to these considerations and others that the present invention has been made.